/**
 * 代号:隐无为 2017：厚溥
 * 文件名：UserAction.java
 * 创建人：柯栋
 * 日期：2017年10月25日
 * 修改人：
 * 描述：
 */
package org.setone.action;

import org.apache.struts2.ServletActionContext;
import org.setone.common.BaseAction;
import org.setone.model.User;
import org.setone.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ModelDriven;

/**
 * 用途：业务模块名称
 */
@Controller
@Scope("prototype")
public class UserAction  extends BaseAction implements ModelDriven<User>{
    User user=null;
    
    Integer pageNum=1;
    Integer pageSize=10;
    
    
	@Autowired
	UserService userService;
	
	/**
	 *  @功能:列表
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String pageList(){
		ServletActionContext.getRequest().setAttribute("page", userService.queryPageList(pageNum, pageSize));
		return "pageList";
	}
	
	
	
	/**
	 *  @功能:列表
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String list(){
		ServletActionContext.getRequest().setAttribute("page", userService.queryPageList(pageNum, pageSize));
		return "list";
	}
	
	
	/**
	 *  @功能:添加或修改页面
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String saveOrUpdatePage(){
		if(user.getId()!=null){
			ServletActionContext.getRequest().setAttribute("user", userService.queryById(user.getId()));
		}
		return "saveOrUpdatePage";
	}

	
	/**
	 *  @功能:保存或更新操作
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String saveOrUpdateOpt(){
		if(user.getId()!=null){
			 userService.update(user);
		}else{
			userService.save(user);
		}
		return "toList";
	}

	
	/**
	 *  @功能:刪除
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String delete(){
		userService.delete(user.getId());
		return "toList";
	}
	@Override
	public User getModel() {
		user=new User();
		return user;
	}



	public Integer getPageNum() {
		return pageNum;
	}



	public void setPageNum(Integer pageNum) {
		this.pageNum = pageNum;
	}



	public Integer getPageSize() {
		return pageSize;
	}



	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	
	
	
}
